home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / eulisp / mpfeel.lha / MPFeel / Modules / eldecl.em < prev    next >
Text File  |  1992-10-06  |  2KB  |  77 lines

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                                                                           ;;
  3. ;;  EuLisp Module                     Copyright (C) University of Bath 1991  ;;
  4. ;;                                                                           ;;
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6.  
  7. (defmodule eldecl
  8.  
  9. ;  ( classes) ()
  10.  
  11.   (classes)
  12.  
  13. ;  (syntax)
  14.  
  15.   (defstruct zero-address () ())
  16.  
  17.   (defstruct one-address ()
  18.     ((rand1 initform nil initarg rand1 accessor rand1)))
  19.  
  20.   (defstruct two-address one-address
  21.     ((rand2 initform nil initarg rand2 accessor rand2)))
  22.  
  23.   (defstruct three-address two-address
  24.     ((rand3 initform nil initarg rand3 accessor rand3)))
  25.  
  26.   (export rand1 rand2 rand3)
  27.  
  28.   (defstruct return-op zero-address () constructor make-return)
  29.  
  30.   (defstruct alloc one-address () constructor make-alloc)
  31.   (defstruct alloca one-address () constructor make-alloca)
  32.   (defstruct dealloca one-address () constructor make-dealloca)
  33.   (defstruct jump one-address () constructor make-jump)
  34.   (defstruct label one-address () constructor make-label)
  35.  
  36.   (defstruct entry two-address () constructor make-entry)
  37.   (defstruct load two-address () constructor make-load)
  38.   (defstruct store two-address () constructor make-store)
  39.   (defstruct link two-address () constructor make-link)
  40.   (defstruct gctrap two-address () constructor make-gctrap)
  41.  
  42.   (defstruct jumpeq three-address () constructor make-jumpeq)
  43.   (defstruct cons-op three-address () constructor make-cons)
  44.  
  45. ;  (only (rand1
  46. ;         rand2
  47. ;         rand3
  48. ;         make-return
  49. ;         make-alloc
  50. ;      make-alloca
  51. ;      make-dealloca
  52. ;      make-jump
  53. ;      make-label
  54. ;      make-entry
  55. ;      make-load
  56. ;      make-store
  57. ;      make-link
  58. ;      make-gctrap
  59. ;      make-jumpeq
  60. ;      make-cons)
  61. ;    ( eldecl))
  62.  
  63.   (export return-op make-return
  64.           alloc make-alloc
  65.       alloca make-alloca
  66.       dealloca make-dealloca
  67.       jump make-jump
  68.       label make-label
  69.       entry make-entry
  70.       load make-load
  71.       store make-store
  72.       link make-link
  73.       gctrap make-gctrap
  74.       jumpeq make-jumpeq
  75.       cons-op make-cons)
  76. )
  77.